package com.liunian.test;

public class FindTargetSumWays {

	public int findTargetSumWays(int[] nums, int target) {
		int sum = 0;
		for (int num : nums) {
			sum += num;
		}
		if ((sum + target) % 2 == 1) {
			return 0;
		}
		int plus = (sum + target) / 2;
		int[] dp = new int[plus + 1];
		dp[0] = 1;
		for (int i = 0; i < nums.length; i++) {
			for (int j = plus; j >= nums[i]; j--) {
				dp[j] += dp[j - nums[i]];
			}
		}
		return dp[plus];
	}

}
